﻿using System.Data.Entity;
using Travasto.Model;

namespace Travasto.Model
{
    public class TravastoDbContext : DbContext
    {        
        public TravastoDbContext()
            : base("name=TravastoDbContext")
        {
        }
        public TravastoDbContext(string nameOrConnectionString) : base(nameOrConnectionString)
        {
            
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            //base.OnModelCreating(modelBuilder);
            //modelBuilder.Entity<Tour>()
            //    .HasMany(t => t.Tags)
            //    .WithMany(t => t.Tours)
            //    .Map(map => {
            //        map.MapLeftKey("TagId");
            //        map.MapRightKey("TourId");
            //        map.ToTable("TagTours");
            //    });

            //modelBuilder.Entity<Package>()
            //    .HasMany(p => p.Tags)
            //    .WithMany(t => t.Packages)
            //    .Map(map =>
            //    {
            //        map.MapLeftKey("TagId");
            //        map.MapRightKey("PackageId");
            //        map.ToTable("TagPackages");
            //    });

            //modelBuilder.Entity<Itinary>()
            //   .HasMany(i => i.Tags)
            //   .WithMany(t => t.Itinaries)
            //   .Map(map =>
            //   {
            //       map.MapLeftKey("TagId");
            //       map.MapRightKey("ItinaryId");
            //       map.ToTable("TagItinaries");
            //   });
        }

        public DbSet<Tour> Tours { get; set; }
        public DbSet<Package> Packages { get; set; }
        public DbSet<Itinary> Itinaries { get; set; }
        public DbSet<Tag> Tags { get; set; }
        public DbSet<Photo> Photos { get; set; }
    }   
}
